function ModuleDialogResult(doc, container, width, height, user, date, options) {
  this._doc = doc;
  this._container = container;
  this._width = width;
  this._height = height;
  this._user = user;
  this._date = date;
  this._options = options;

  this._callbackFunc = (this._options && this._options.callbackFunc) ? this._options.callbackFunc : {};
  this._search = (this._options && this._options.search) ? this._options.search : {};
  this._popupBox = (this._options && this._options.popupBox) ? this._options.popupBox : {};
  
  this._createElements();
};

ModuleDialogResult.prototype._createElements = function() {
  var _self = this;
  this._gui = new DialogResult(this._doc, this._container, this._width, this._height, this._operator, this._now, this._options)._gui;
  
  tr = this._gui.mains.insertRow(-1);
  td = tr.insertCell(-1);
  td.appendChild(document.createTextNode('Loading...'));
  this._loadData();
};

ModuleDialogResult.prototype._loadData = function() {
  this._result = null;
  this._retrieveUsers();
};

ModuleDialogResult.prototype._verifyData = function() {
  if (this._result) {
    this._updateElements();
  }
};

ModuleDialogResult.prototype._retrieveUsers = function() {
  var _self = this;
  new RequestUtils()._custom('clients',
                             JSON.stringify({ s: _self._search, p: 1, size: 9999, o: 't.id', q: 'DESC' }),
                             function(result, params) { _self._result = result;
                                                        _self._verifyData.call(_self);
                                                      }, null);
};

ModuleDialogResult.prototype._updateElements = function() {
  var tr, td, div, span, _self = this;
  
  DOMUtils.removeTableRows(this._gui.mains, 0);
  
  if (this._result.data.length == 0) {
    this._popupBox._close();
  } else {
    for (var i = 0, il = this._result.data.length; i < il; i++) {
      var tmp = this._result.data[i];
      tr = this._gui.mains.insertRow(-1);
      td = tr.insertCell(-1);
      td.style.height = '30px';
      td.style.textAlign = 'left';
      td.style.cursor = 'default';
      td.style.verticalAlign = 'middle';
      td.style.padding = '6px 3px';
      td._data = tmp;
      td.onmouseover = function() { this.style.backgroundColor = '#e2eaff'; };
      td.onmouseout = function() { this.style.backgroundColor = '#fff'; };
      td.onclick = function() { _self._callbackFunc(this._data); };
      td.appendChild(document.createTextNode(tmp.name_first + ' ' + tmp.name_family + ', ' + tmp.pass_num + ', ' + ((tmp.date_birth == 0) ? '' : SimpleDate.format(SimpleDate.fromStamp(tmp.date_birth, false), false))));
    }
  }
};

